package com.company;

import java.util.Arrays;

public class A_9Bubble {
    public static void main(String[] args) {
        /*
        * bubbling   冒泡排序
        *
        *   暴力算法：
        *
        *  稳定的排序算法
        *
        *
        * */

        int[] nums = {2,1,4,5,2,5,7,8,0,6,2,43};
//        BubbleSort();
        //记录当前遍历长度的最大值
//        它的基本思想是对所有相邻记录的关键字值进行比效，如果是逆顺（a[j]>a[j+1]），则将其交换，最终达到有序化;
        System.out.println(Arrays.toString(nums));
        int len = nums.length;
        for (int i = 0 ;i< len-1 ; i++){
            //个数的遍历次数   每次循环  遍历的最大长度减一
            // 遍历到最后一个数  每次最后一个都是最大的数  则遍历长度减一
            int len2 = len-i;  // 每次一遍循环最后一个数都是好的
//            int max = 0;
            for (int j =0 ;j < len2-1; j++ ){   //每次都交换  往后交换
                if (nums[j+1] < nums[j]){
                    nums[j] += nums[j+1];   //此处注意不能是同一个地址或者位置  在数组中利用这样排序
                    nums[j+1] = nums[j] - nums[j+1];
                    nums[j] -= nums[j+1];



                }
            }
//            if (max == len2-1 ){
//                continue;
//            }else {
//                nums[max] += nums[len2-1];   //此处注意不能是同一个地址或者位置  在数组中利用这样排序
//                nums[len2-1] = nums[max] - nums[len2-1];
//                nums[max] -= nums[len2 - 1];
//            }

        }
        System.out.println(Arrays.toString(nums));
    }



}
